package org.summer.lawyer.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * 分销员对象 brokerage_user
 *
 * @author summer
 * @date 2024-06-20
 */
@Data
@TableName("brokerage_user")
public class BrokerageUser  {


    /**
     * 主键ID
     */
    @TableId(value = "brokerage_user_id", type = IdType.ASSIGN_ID)
    private Long brokerageUserId;



    /**
     * 微信用户ID
     */
    @TableField(value = "wx_user_id")
    private Long wxUserId;



    /**
     * 用户昵称
     */
    @TableField(value = "nickname")
    private String nickname;



    /**
     * 头像
     */
    @TableField(value = "avatar")
    private String avatar;



    /**
     * 邀请码
     */
    @TableField(value = "brokerage_code")
    private String brokerageCode;



    /**
     * 推广资格(0停用，1启用）
     */
    @TableField(value = "status")
    private String status;



    /**
     * 推广人数
     */
    @TableField(value = "user_count")
    private Integer userCount;



    /**
     * 推广订单数量
     */
    @TableField(value = "order_count")
    private Integer orderCount;



    /**
     * 推广订单金额，单位分
     */
    @TableField(value = "order_amount")
    private Long orderAmount;



    /**
     * 已提现金额，单位分
     */
    @TableField(value = "withdraw_amount")
    private Long withdrawAmount;



    /**
     * 已提现次数
     */
    @TableField(value = "withdraw_count")
    private Integer withdrawCount;



    /**
     * 成为推广员时间
     */
    @TableField(value = "brokerage_time")
    private Date brokerageTime;



    /**
     * 上级推广员ID
     */
    @TableField(value = "bind_user_id")
    private Long bindUserId;



    /**
     * 上级推广员姓名
     */
    @TableField(value = "bind_user_name")
    private String bindUserName;



    /**
     * 推广员绑定时间
     */
    @TableField(value = "bind_user_time")
    private Date bindUserTime;



    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    @TableField(value = "del_flag")
    private String delFlag;



    /**
     * 创建者
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private Long createBy;



    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;



    /**
     * 更新者
     */
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;



    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;



}
